﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace BBECServiceBusAdapter
{
    [DataContract(Namespace = Helper.Namespace)]
    public sealed class PaymentDataContract:ContractBase
    { 
    
        #region Data Members

        [DataMember(IsRequired=false)]
        public string RevenueParentRevenueID = "";
        [DataMember(IsRequired=false)]
        public DateTime RevenueDate;
        [DataMember(IsRequired=false)]
        public decimal Amount = 0;
        [DataMember(IsRequired=false)]
        public RevenueDataContractExtensions.RevenuePaymentMethod PaymentMethod = RevenueDataContractExtensions.RevenuePaymentMethod.None;
        [DataMember(IsRequired=false)]
        public RevenueDataContractExtensions.RevenueTransactionType TransactionType = RevenueDataContractExtensions.RevenueTransactionType.Payment;
        [DataMember(IsRequired=false)]
        public string CheckNumber = "";
        [DataMember(IsRequired=false)]
        public string CreditCardLastFourDigits = "";
        [DataMember(IsRequired=false)]
        public DateTime? CreditCardExpirationDate;
        [DataMember(IsRequired=false)]
        public string CreditCardType = "";     // this is configurable so we can't make it an enum
        [DataMember(IsRequired=false)]
        public string Appeal = "";
        [DataMember(IsRequired=false)]
        public List<RevenueDataContractExtensions.RevenueSplit> RevenueSplits;

        #endregion
    }
}